Nachum, O., Norouzi, M., Xu, K., & Schuurmans, D. (2018). TruST-PCL: An off-policy trust region method for continuous control. 6th International Conference on Learning Representations, ICLR 2018 - Conference Track Proceedings, 1–14.
1. 论文概述
TRPO 在连续空间的强化学习上获得了成功,提高了基于策略梯度强化学习方法的稳定性和收敛速度。但是,当前的基于置信域优化的方法需要和环境进行大量的 on-policy 交互,样本效率很低。DDPG 是成功运用在连续环境中的 off-policy 强化学习方法,但是 DDPG 牺牲了稳定性来提升了样本效率,同时非常依赖于超参数的选取。
本文为了解决 on-policy 置信域方法的样本效率问题,提出了 Trust-PCL 方法。Trust-PCL 方法是基于 PCL 方法 [1] 的路径一致性原理,即在任意连续的子轨迹中,状态值和熵正则化的最优策略间满足一致性关系。Trust-PCL 方法引入了相对熵正则化器,保证了优化的稳定性。本文得到一个结论是,向最大奖励的强化学习目标引入相对熵正则化器之后,状态值和熵正则化的最优策略间依然对任意的轨迹满足一致性关系。
此外,本文提出了一种简单的方法来确定相对熵调整器的系数,使之不受奖励尺度的影响。
2. 相关知识
梯度下降是神经网络优化的主要方法。不过,梯度下降其实也是一种置信域约束优化的形式:
其中局部最优化表示为 $d\theta = \eta \nabla \ell(\theta)$,解得 $\eta = \sqrt{\epsilon} / | \nabla \ell(\theta) |$ 。实质上,梯度下降是考虑参数位于欧几里得空间。
但是对于机器学习中的多层网络,欧几里得几何实际上并不是最佳描述参数距离的空间。
通常更有效的是采用黎曼度量,这样能在局部区域中找到更陡峭的梯度方向(简单理解就是,曲线空间的两点,最短距离不是直线,而是曲线)。
如果将损失函数定义为模型参数和最优参数间的布雷格曼散度(Bregman divergence),置信域的形式通常会写成:
$F$ 函数的选择不同,布雷格曼散度的形式就不同。
自然梯度利用费舍尔矩阵 $F(\theta)$ 来定义参数空间。这样损失函数实际上是 KL 散度 $D_{KL}(\theta^*,\theta)$,置信域优化可以写成:
其中梯度方向:$d\theta \equiv -\eta F(\theta)^{-1}\nabla \ell(\theta)$ 。自然梯度对 KL 散度的近似形式为:$D_{KL}(a,b) \approx (a-b)^TF(a)(a-b)$,该近似是二阶泰勒展开。
紧接着,TRPO [2] 对自然梯度的逼近方法进行改善,将自然梯度方法引入到强化学习非线性策略的优化中。另外,最近端优化方法将置信域优化中的硬性约束替换为目标函数中的惩罚项,PPO [3] 算法就是将最近端优化方法应用于强化学习策略的学习中。
论文 [4] 中将熵正则化的奖励目标函数表示成反向的 KL 散度 $D_{KL}(\theta,\theta^*)$ 。也就是说,在这种正则化的奖励目标下,公式 $\eqref{3}$ 应该写成:
但是问题在于此时费舍尔矩阵 $F(\theta+d\theta)$ 的求解依赖于更新后的参数,虽然可以用 $F(\theta)$ 进行近似,但对于较大的 $d\theta$ 而言则不太理想。
本文给出了反向 KL 散度 $D_{KL}(\theta+d\theta,\theta) \le \epsilon$ 的另一种解法,也就成功将熵正则化框架和置信域策略优化结合起来。
下面给出相关算法的符号定义和目标公式。
2.1 最大化期望奖励
标准强化学习的目标就是最大化期望未来折扣奖励。在每个状态的基础上,对该目标递归表示为:
当从与环境的交互中对状态进行采样时,与状态无关的目标是每个状态的目标函数的期望:
2.2 Path Consistency Learning
PCL 是本文算法的前身,也是一个引入熵正则化框架的强化学习方法。带熵正则化的强化学习目标为:
折扣熵 $\mathbb{H}(s,\pi)$ 的递归表示形式为:
结合公式 $\eqref{7}$ 和公式 $\eqref{8}$,带熵正则化的强化学习目标 $O_{ENT}(s,\pi)$ 可以重新表示为递归形式:
PCL 的论文 [1] 中得到了对于任意路径(轨迹)的最优状态值和最优策略的一致性关系:
其中 $\pi^$ 是最大化目标 $O_{ENT}(s)$ 的最优策略,最优状态值函数 $V^(s) = O_{ENT}(s,\pi^*)$ 。PCL 的目标就是同时优化 $\pi_\theta$ 和 $V_\phi$ 的参数,减小等式两边的误差。
2.3 Trust Region Policy Optimization
采用标准的策略梯度算法对标准强化学习目标 $O_{ER}$ 进行优化是很不稳定的,TRPO [2] 通过置信域优化的方法来限制策略更新的幅度,表示为一个带约束的优化问题:
3. 算法推导
为了更稳定地对参数空间进行训练,本文对带熵正则化的强化学习目标 $O_{ENT}(s,\pi)$ 进行扩展,引入与更新前的策略(也可以称为目标策略)相关的折扣相对熵置信域:
其中折扣相对熵 $\mathbb{G}(s,\pi,\tilde \pi)$ 的递归表达式为:
尽管之前的强化学习方法已经单独与熵正则化和相对熵结合,但是同时让强化学习同时与熵正则化和相对熵结合还是第一次,也是本文一个亮点。熵正则化可以提高探索率,而引入相对熵置信域能保障训练的稳定性和更快的训练速度。
对公式 $\eqref{13}$ 用拉格朗日乘法表示,现在带约束的最优化问题转变为不带约束的最大化问题:
与状态无关的目标通过对每个状态的目标函数取期望得到:
3.1 引入相对熵的 PCL
引入相对熵后的目标 $O_{RELENT}$ 和熵正则化目标 $O_{ENT}$ 其实有相似的结构,可以将 $O_{RELENT}$ 也表示成熵正则化目标的形式,只不过此时奖励函数的形式发生了一点变化。
其中 $\tilde O_{ER}(s,\pi)$ 表示标准的强化学习目标(头上带有波浪线表示发生了一点转换)。但是奖励函数的形式发生了一点变换:$\tilde r(s,a) = r(s,a) + \lambda \log \tilde \pi(a|s)$ 。
由于 $O_{RELENT}(\pi)$ 的形式与 $O_{ENT}(\pi)$ 相似,可以直接引用 PCL 论文 [1] 中的推导结果。最优策略 $\pi^*$ 的表达式如下:
softmax 最优值函数表示为:
对公式 $\eqref{17}$ 重新整理,可以得到最优策略 $\pi^$ 和最优值函数 $V^$ 的一致性关系:
公式 $\eqref{19}$ 是 one-step 的一致性关系,因为 PCL 对任意路径都成立,所以可以扩展成 multi-step 的形式:
3.2 Trust-PCL
和 PCL 的目标函数一样,为了训练参数化策略 $\pi_\theta$ 和参数化状态函数 $V_\phi$,构造对于采样轨迹 $s_{t:t+d} \equiv (s_t,a_t,r_t,\cdots,s_{t+d-1},a_{t+d-1},r_{t+d-1},s_{t+d})$ 的一致性误差函数为:
对于一个 mini-batch 轨迹集合 $S = \{ s_{0:T_k}^{(k)} \}_{k=1}^B$,损失函数为:
训练时,采用的是 off-policy 方法,即从经验池中采样轨迹集合 $S$。每个样本加入经验池时都带有自己的优先级,该优先级与 PCL 论文中的定义相似:
其中 $B$ 表示经验池的大小,$Z$ 表示归一化因子。$\beta$ 是可调节的超参数。
对于更新前的策略(或称为目标策略) $\pi_{\tilde \theta}$ 的参数更新,采用的更新方式为 $\tilde \theta = \alpha \tilde \theta + (1-\alpha) \theta$ 。
3.3 拉格朗日乘数 $\lambda$
如果将相对熵项视为惩罚项而不是约束项,如公式 $\eqref{14}$ 所示,那么拉格朗日乘数 $\lambda$ 将成为一个超参数,这个超参数的调节有很大的困难,实际上在训练过程中,超参数是需要随训练进程而变化的。因此将相对熵视为约束项可能是更好的选择,TRPO 中也是视为约束项。
本文提出了一种新的方法,将超参数从 $\lambda$ 重定向为超参数 $\epsilon$ 。给定由超参数 $\epsilon$ 定义的约束项,这个方法可以得到近似惩罚项 $\lambda(\epsilon)$ ,此时 $\lambda$ 不再是超参数,而是关于 $\epsilon$ 的函数,或者说一个自动调节的超参数。这也是本文的亮点之一。
为了便于分析,本文进行了一些限制,例如令 $\gamma = 1$,$\tau = 0$。另一个限制就是从单独的初状态 $s_0$ 开始求解 KL 散度与真实的 KL 散度相差不大。实际实验中不会进行限制,但是结果表现得一样好。
在这种限制下,对于完整的一个 episode $s_{0:T}=(s_0,a_0,r_0,\cdots,s_{T-1},a_{T-1},r_{T-1},s_T)$,由公式 $\eqref{17}$ 可以得到:
其中 $\pi(s_{0:T}) = \prod_{i=0}^{T-1} \pi(a_i|s_i)$ ,$R(s_{0:T}) = \sum_{i=0}^{T-1} r_i$ 。$\pi^*$ 的归一化因子为:
公式 $\eqref{24}$ 和 $\eqref{25}$ 的推导其实并不怎么严格,很大程度依赖于假设。接下来利用这两条公式得到 $\pi^*$ 和 $\tilde \pi$ 的近似 KL 散度。
公式 $\eqref{24}$ 中的期望只与 $\tilde \pi$ 有关,因此可以通过对策略 $\tilde \pi$ 进行采样计算。有了 $\tilde \pi$ 采样的轨迹,给定的超参数 $\epsilon$ ,为了得到最优的 $\lambda$,只需要执行线性搜索,使得 $KL(\pi^*|\pi)$ 尽量靠近 $\epsilon$ 即可。
但是还有一个问题,就是 $\epsilon$ 是否应该随着训练的进程改变。考虑到随着训练的进行,一个 episode 的长度可能会变长,此时 $KL(\pi^*|\tilde \pi)$ 也会变大,相反也一样。为了同等地改变相对熵的约束范围,利用多个 episode 采样轨迹的集合 $S= \{s_{0:T_k}^{(k)} \}^N_{k=1}$, $\epsilon$ 可以修订为:$\frac{\epsilon}{N} \sum_{k=1}^N T_k$ 。$T_k$ 就表示第 $k$ 个 episode 的长度。不过为了避免和环境进行过多的交互,本文对这个集合 $S$ 取最后 100 个 episode 来计算平均 episode 长度。
3.4 伪代码
/Trust-PCL.png)
参考文献
参考文献
[1] Nachum, O., Norouzi, M., Xu, K., & Schuurmans, D. (2017). Bridging the gap between value and policy based reinforcement learning. Advances in Neural Information Processing Systems, 2017-Decem(Nips), 2776–2786.
[2] John Schulman, Sergey Levine, Pieter Abbeel, Michael Jordan, and Philipp Moritz. Trust region policy optimization. In ICML, 2015.
[3] John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347, 2017b.
[4] Norouzi, Mohammad, et al. “Reward augmented maximum likelihood for neural structured prediction.” Advances In Neural Information Processing Systems. 2016.